const formatTime = date => {
    const year = date.getFullYear()
    const month = date.getMonth() + 1
    const day = date.getDate()
    const hour = date.getHours()
    const minute = date.getMinutes()
    const second = date.getSeconds()

    return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

const formatNumber = n => {
    n = n.toString()
    return n[1] ? n : '0' + n
}

var app = getApp();
// var host = 'http://121.40.113.8:10039'//测试
const host = 'https://api.tkpmpp.ltd';

/**
 * POST请求，
 * URL：接口
 * postData：参数，json类型
 * doSuccess：成功的回调函数
 * doFail：失败的回调函数
 */
function postData(url, data, callback) {
    wx.showLoading({
        title: "加载中..."
    });
    wx.request({
        url: host + url,
        header: {
            "content-type": "application/json;charset=UTF-8",
            'Authorization': wx.getStorageSync('token')
        },
        data: data,
        method: 'POST',
        success: function (res) {
            wx.hideLoading();
            if (res.data.code === 4010) {
                console.log('token失效')
                // setTimeout(function () {
                wx.redirectTo({
                    url: '/pages/chooseLogin/chooseLogin'
                })
                // }, 500);
            } else if (res.data.code === 2000 || res.data.code === 1020 || res.data.code === 1022) {
                //请求成功||未注册||已经注册
                callback(res.data);
            } else if (res.data.code === 1071) {
                //手机号登录，支付需要微信权限
                wx.showToast({
                    title: res.data.msg,
                    icon: 'none',
                    duration: 2000
                })
            } else {
                wx.showToast({
                    title: res.data.msg,
                    icon: 'none',
                    duration: 2000
                })
            }
        },
        fail: function () {
            wx.hideLoading()
            app.dofail();

        },
    })
}
/**
 * GET请求，
 * URL：接口
 * data：参数，json类型
 * doSuccess：成功的回调函数
 */
function getData(url, data, callback, show) {
    wx.showLoading({
        title: "加载中..."
    })
    wx.request({
        url: host + url,
        header: {
            "content-type": "application/json;charset=UTF-8",
            'Authorization': wx.getStorageSync('token')
        },
        data: data,
        method: 'GET',
        success: function (res) {
            wx.hideLoading();
            if (res.data.code === 4010) {
                console.log('token失效或者没有')
                wx.redirectTo({
                    url: '/pages/chooseLogin/chooseLogin'
                })
            } else if (res.data.code === 2000 || res.data.code === 1020 || res.data.code === 1022) {
                //请求成功||未注册||已经注册
                callback(res.data);
            } else {
                wx.showToast({
                    title: res.data.msg,
                    icon: 'none',
                    duration: 2000
                })
            }
        },
        fail: function (res) {
            wx.hideLoading()
            app.dofail();
        },
    })
}
//异步处理 http get请求
function getDataAsync(url, data) {
    return new Promise((resolve, reject) => {
        wx.showLoading({
            title: "加载中..."
        });
        wx.request({
            url: host + url,
            header: {
                "content-type": "application/json;charset=UTF-8",
                'Authorization': wx.getStorageSync('token')
            },
            data: data,
            method: 'GET',
            success: res => {
                wx.hideLoading();
                if (res.data.code === 4010) {
                    console.log('token失效或者没有')
                    wx.redirectTo({
                        url: '/pages/chooseLogin/chooseLogin'
                    })
                } else if (res.data.code === 2000 || res.data.code === 1020 || res.data.code === 1022) {
                    //请求成功||未注册||已经注册
                    resolve(res.data);
                } else {
                    wx.showToast({
                        title: res.data.msg,
                        icon: 'none',
                        duration: 2000
                    })
                }
            },
            fail: res => {
                reject(res);
                throw new Error(url + ':接口请求错误');
            }
        })
    });

}
//检查session_key 是否过期，如果过期wx.login-----promise版本
// const checkSession = new Promise((resolve, reject) => {
//     wx.checkSession({
//         success: res => { console.log(res) },
//         fail: res => { resolve(res) }
//     });
// });
// checkSession.then(res => {
//     return new Promise((resolve, reject) => {
//         wx.login({ success: res => { resolve(res) }, fail: err => { reject(err) } });
//     });
// }).then(res => {
//     wx.setStorageSync('code', res.code);
//     return HTTP.getDataAsync('/api/auth/weChatLogin', { code: res.code });
// }, err => {
//     console.log(err);
//     throw new Error('wx.Login 请求失败');
// }).then(res => {
//     wx.setStorageSync('openid', res.data.openid);
//     wx.setStorageSync('session_key', res.data.session_key);
// }, err => {
//     console.log(err);
//     throw new Error('换session_key接口请求失败');
// });

module.exports.host = host;
module.exports.getData = getData;
module.exports.postData = postData;
module.exports.getDataAsync = getDataAsync;


/**
 * module.exports用来导出代码
 * js文件中通过var call = require("../util/request.js")  加载
 * 在引入引入文件的时候"  "里面的内容通过../../../这种类型，小程序的编译器会自动提示，因为你可能
 * 项目目录不止一级，不同的js文件对应的工具类的位置不一样
 */

